﻿<%@ Page Title="Registrace" Language="C#" MasterPageFile="~/Pages/Site.Master" AutoEventWireup="true" CodeBehind="Registration.aspx.cs" Inherits="Altairis.FluffyCloud.WebCore.Pages.Account.Registration" %>
<asp:Content ContentPlaceHolderID="Main" runat="server">
    <h1 id="title">
        <asp:Localize runat="server" Text="Registrace nového uživatele" />
    </h1>
    <asp:MultiView ID="MultiViewPage" runat="server" ActiveViewIndex="0">
        <asp:View ID="ViewStep1" runat="server">
            <p>
                <asp:Localize runat="server" Text="Vaše e-mailová adresa je pro nás jediným způsobem, jak vás kontaktovat. Proto musíme před registrací ověřit, zda je funkční a že patří skutečně vám. Zadejte svůj e-mail a my vám na něj pošleme zprávu s odkazem, na němž budete moci pokračovat v registraci." />
            </p>
            <div class="form">
                <div>
                    <asp:Label Text="E-mailová adresa:" runat="server" AssociatedControlID="EmailTextBox" /><br />
                    <asp:TextBox ID="EmailTextBox" runat="server" />
                    <asp:RequiredFieldValidator runat="server" ControlToValidate="EmailTextBox" Display="None" ErrorMessage="Není zadán e-mail" />
                    <asp:RegularExpressionValidator runat="server" ControlToValidate="EmailTextBox" Display="None" ErrorMessage="Zadaný e-mail je chybný" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" />
                </div>
                <div>
                    <altairis:ReCaptchaImage runat="server" ID="RCV" PrivateKey="<%$ AppSettings:ReCaptchaPrivateKey %>" PublicKey="<%$ AppSettings:ReCaptchaPublicKey %>" Theme="clean" />
                    <altairis:ReCaptchaValidator runat="server" ControlToValidate="RCV" Display="None" ErrorMessage="Není správně opsán kód z obrázku" />
                </div>
                <asp:ValidationSummary runat="server" />
                <div>
                    <asp:Button ID="ButtonSubmitStep1" runat="server" Text="Odeslat" OnClick="ButtonSubmitStep1_Click" />
                </div>
            </div>
        </asp:View>
        <asp:View ID="ViewStep2" runat="server">
            <p>
                <asp:Literal ID="LiteralVerify" runat="server" Text="Na e-mailovou adresu <code>{0}</code> byla zaslána zpráva s instrukcemi pro pokračování v registraci." />
            </p>
        </asp:View>
        <asp:View ID="ViewStep3" runat="server">
            <p>
                <asp:Literal ID="LiteralVerified" runat="server" Text="Vaše e-mailová adresa <code>{0}</code> byla ověřena. Nyní můžete pokračovat v registraci." />
            </p>
            <div class="form">
                <fieldset>
                    <legend>Vaše ikona</legend>
                    <span style="float: right; margin-left: 1em;">
                        <altairis:Gravatar runat="server" ID="PreviewGravatar" Size="75" />
                    </span>
                    <p>Obrázek, který vidíte vpravo, byl získán ze systému <a href="http://www.gravatar.com/">Gravatar</a>, podle e-mailové adresy, kterou jste zadali při registraci. Můžete do něj nahrát vlastní obrázek. Pokud tak neučiníte, bude vám vygenerován náhodně, na základě vaší e-mailové adresy.</p>
                    <p>Pokud se v tomto systému <a href="https://cs.gravatar.com/site/signup">zaregistrujete</a>, všechna fóra, která jej používají, budou automaticky znát vaši ikonu a můžete ji kdykoliv centrálně změnit.</p>
                    <p>Pokud nechcete Gravatar využívat, můžete si po dokončení registrace nahrát vlastní ikonu v Nastavení.</p>
                </fieldset>
                <fieldset>
                    <legend>Přihlašovací údaje</legend>
                    <div>
                        <asp:Label runat="server" Text="Uživatelské jméno:" AssociatedControlID="UserNameTextBox" />
                        <br />
                        <asp:TextBox ID="UserNameTextBox" runat="server" MaxLength="25" />
                        <asp:RequiredFieldValidator runat="server" ControlToValidate="UserNameTextBox" Display="None" ErrorMessage="Není zadáno uživatelské jméno" />
                        <asp:RegularExpressionValidator runat="server" ControlToValidate="UserNameTextBox" Display="None" ValidationExpression="[A-Za-z][A-Za-z0-9_]{2,25}" ErrorMessage="Zadané uživatelské jméno je chybné" />
                        <aside>Vaše uživatelské jméno musí být unikátní a trvalé - není jej možné změnit. Musí mít 3-25 znaků, musí začínat písmenem a smí obsahovat pouze písmena A-Z, číslice a podtržítko.</aside>
                    </div>
                    <div>
                        <asp:Label runat="server" Text="Heslo:" AssociatedControlID="PasswordTextBox" />
                        <br />
                        <asp:TextBox ID="PasswordTextBox" runat="server" TextMode="Password" />
                        <asp:RequiredFieldValidator runat="server" ControlToValidate="PasswordTextBox" Display="None" ErrorMessage="Není zadáno heslo" />
                        <asp:RegularExpressionValidator runat="server" ControlToValidate="PasswordTextBox" Display="None" ErrorMessage="Heslo je příliš krátké" ValidationExpression=".{12,}" />
                        <aside>Heslo musí obsahovat nejméně dvanáct znaků. Doporučujeme místo jednoho slova použít například celou větu.</aside>
                    </div>
                    <div>
                        <asp:Label runat="server" Text="Kontrola hesla:" AssociatedControlID="PasswordConfirmationTextBox" />
                        <br />
                        <asp:TextBox ID="PasswordConfirmationTextBox" runat="server" TextMode="Password" />
                        <asp:RequiredFieldValidator runat="server" ControlToValidate="PasswordConfirmationTextBox" Display="None" ErrorMessage="Není zadána kontrola hesla" />
                        <asp:CompareValidator runat="server" ControlToValidate="PasswordConfirmationTextBox" Display="None" ErrorMessage="Heslo a kontrola hesla nesouhlasí" ControlToCompare="PasswordTextBox" Operator="Equal" />
                    </div>
                    <div>
                        <asp:Label runat="server" Text="Datum narození:" AssociatedControlID="BirthDateTextBox" />
                        <br />
                        <asp:TextBox ID="BirthDateTextBox" runat="server" TextMode="Date" />
                        <asp:CustomValidator runat="server" ControlToValidate="BirthDateTextBox" Display="None" ErrorMessage="Chybné datum narození" ID="BirthDateValidator" OnServerValidate="BirthDateValidator_ServerValidate" />
                        <aside>Datum narození není povinné, ale bez jeho uvedení bude uživatel pokládán za nezletilého a budou mu znepřístupněny některé služby. Datum narození se nezobrazuje, ve vašem profilu se zobrazuje pouze vypočtený věk.</aside>
                    </div>
                </fieldset>
                <fieldset>
                    <legend>Údaje o postavě</legend>
                    <p>Údaje v této sekci se týkají vaší furry postavy. Budou viditelné všem členům systému.</p>
                    <div>
                        <asp:Label runat="server" Text="Druh:" AssociatedControlID="SpeciesTextBox" />
                        <br />
                        <asp:TextBox ID="SpeciesTextBox" runat="server" MaxLength="50" />
                        <asp:RequiredFieldValidator runat="server" ControlToValidate="SpeciesTextBox" Display="None" ErrorMessage="Není zadán druh" />
                        <aside>Živočišný druh vaší furry postavy.</aside>
                    </div>
                    <div>
                        <asp:Label runat="server" Text="Krátký komentář:" AssociatedControlID="CommentTextBox" />
                        <br />
                        <asp:TextBox ID="CommentTextBox" runat="server" MaxLength="50" />
                        <asp:RequiredFieldValidator runat="server" ControlToValidate="CommentTextBox" Display="None" ErrorMessage="Není zadán komentář" />
                        <aside>Komentář se zobrazí (téměř) všude vedle vašeho uživatelského jména, například ve výpisu zpráv.</aside>
                    </div>
                    <div>
                        <asp:Label runat="server" Text="Popis:" AssociatedControlID="DescriptionTextBox" />
                        <br />
                        <asp:TextBox ID="DescriptionTextBox" runat="server" TextMode="MultiLine" Height="150px" data-exteditortype="wikimarkup" />
                        <asp:RequiredFieldValidator runat="server" ControlToValidate="DescriptionTextBox" Display="None" ErrorMessage="Není zadán popis" />
                        <aside>Zde můžete zadat obšírnější popis postavy, co jste zač.</aside>
                    </div>
                </fieldset>
                <asp:ValidationSummary runat="server" />
                <div>
                    <asp:Button ID="ButtonSubmitStep3" Text="Odeslat" runat="server" OnClick="ButtonSubmitStep3_Click" />
                </div>
            </div>
        </asp:View>
        <asp:View ID="ViewStep4" runat="server">
            <p><b>Gratulujeme, vaše registrace byla úspěšně dokončena.</b> Nyní se můžete přihlásit a nastavit další hodnoty ve svém profilu.</p>
            <p>
                <asp:Button ID="ButtonSubmitStep4" Text="Pokračovat" runat="server" OnClick="ButtonSubmitStep4_Click" />
            </p>
        </asp:View>
        <asp:View ID="ViewError" runat="server">
            <p>
                <asp:Literal ID="LiteralErrorCodeInvalid" runat="server" Visible="False" Text="Zadaný ověřovací kód pro e-mail <code>{0}</code> je chybný. Prosím zkontrolujte, zda je adresa stránky zadaná celá a správně." />
                <asp:Literal ID="LiteralErrorDuplicateEmail" runat="server" Visible="False" Text="Pod e-mailovou adresou <code>{0}</code> je již registrován uživatel <code>{1}</code>." />
                <asp:Literal ID="LiteralErrorDuplicateUserName" runat="server" Visible="False" Text="Uživatel <code>{0}</code> již existuje." />
                <asp:Literal ID="LiteralErrorOther" runat="server" Visible="False" Text="Chyba při vytváření uživatele: <code>{0}</code>." />
            </p>
        </asp:View>
    </asp:MultiView>
</asp:Content>